# https://losst.ru/komanda-find-v-linux

Команда find имеет такой синтаксис:

    find [папка] [параметры] критерий шаблон [действие]

Папка - каталог в котором будем искать

Параметры - дополнительные параметры, например, глубина поиска, и т д

Критерий - по какому критерию будем искать: имя, дата создания, права, владелец и т д.

Шаблон - непосредственно значение по которому будем отбирать файлы.

## ОСНОВНЫЕ ПАРАМЕТРЫ КОМАНДЫ FIND

    -P - никогда не открывать символические ссылки.
    -L - получает информацию о файлах по символическим ссылкам. Важно для дальнейшей обработки, чтобы обрабатывалась не ссылка, а сам файл.
    -maxdepth - максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1.
    -depth - искать сначала в текущем каталоге, а потом в подкаталогах.
    -mount искать файлы только в этой файловой системе.
    -version - показать версию утилиты find.
    -print - выводить полные имена файлов.
    -type f - искать только файлы.
    -type d - поиск папки в Linux.

## КРИТЕРИИ

    -name - поиск файлов по имени.
    -perm - поиск файлов в Linux по режиму доступа.
    -user - поиск файлов по владельцу.
    -group - поиск по группе.
    -mtime - поиск по времени модификации файла.
    -atime - поиск файлов по дате последнего чтения.
    -nogroup - поиск файлов, не принадлежащих ни одной группе.
    -nouser - поиск файлов без владельцев.
    -newer - найти файлы новее чем указанный.
    -size - поиск файлов в Linux по их размеру.

st@fedora ${COMMUNIS_PATH}/Deploy_store/.qa/main_repo_fn/_config/agno_tag (master)$

###  find . -print
    .
    ./main.tag
    ./actual.tag
    ./_common.tag
    ./app_nm.tag

### Показать все файлы во всех поддиректориях в указанной директории:
    
    st@fedora ${COMMUNIS_PATH}/Deploy_store/.qa/main_repo_fn/dir_find_/_find_ (master)$
    find ./
    ./
    ./_config
    ./_config/mane_find_.tag
    ./_debug
    ./_debug/agrg0.sh
    ...

###  find .  -name *.tag

    ./_config/mane_find_.tag

### find . -name "agrg0*"

    ./_debug/agrg0.sh

###  find . -maxdepth 2 -name "*.sh"

    ./_debug/agrg0.sh
    ./_sh/data.sh
    ./_tis/tis_1.sh

### find . -not -name "*.sh"

    .
    ./_config
    ./_config/mane_find_.tag
    ./_debug
    ./_in
    ./_in/_tml.var

### find . -name "test" -not -name "*.php"

### Operator -o (||, or) && -  by defolt operator 

#### find -name "*.html" -o -name "*.php"

